﻿using Furion;
using Microsoft.Extensions.DependencyInjection;
using Xunit;
using Xunit.Abstractions;
using Xunit.Sdk;

// 配置启动类类型，第一个参数是Startup类完整限定名，第二个参数是当前项目程序集名称
[assembly: TestFramework("FurStudyxUnitTest.Startup", "FurStudyxUnitTest")]

namespace FurStudyxUnitTest
{
    /// <summary>
    /// 单元测试启动类
    /// </summary>
    /// <remarks>在这里可以使用Furion几乎所有功能</remarks>
    public sealed class Startup : XunitTestFramework
    {
        public Startup(IMessageSink messageSink) : base(messageSink)
        {
            // 初始化 IServiceCollection对象
            var services = Inject.Create();

            // 在这里可以和.NET Core一样注册服务了！！！！！！
            
            // 注册远程请求服务
            services.AddRemoteRequest();

            // 构建ServiceProvider对象
            services.Build();
        }
    }
}
